﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using negocios;
using objetos;
using publico;
using System.Text;


namespace softsales.pagina.veiculo_cadastro
{
    public partial class veiculo_cadastro_formulario : System.Web.UI.Page
    {

        // CADASTRO 
        BLL_TB_CADASTRO b_tb_cadastro = new BLL_TB_CADASTRO();
        OBJ_TB_CADASTRO o_tb_cadastro = new OBJ_TB_CADASTRO();

        //VEICULO
        BLL_TB_VEICULO b_tb_veiculo = new BLL_TB_VEICULO();
        OBJ_TB_VEICULO o_tb_veiculo = new OBJ_TB_VEICULO();

        BLL_TB_VEICULO_MARCA b_tb_veiculo_marca = new BLL_TB_VEICULO_MARCA();
        BLL_TB_VEICULO_MODELO b_tb_veiculo_modelo = new BLL_TB_VEICULO_MODELO();
        BLL_TB_VEICULO_CATEGORIA b_tb_veiculo_categoria = new BLL_TB_VEICULO_CATEGORIA();
        
        BLL_TB_UF b_tb_uf = new BLL_TB_UF();

        protected void Page_Load(object sender, EventArgs e)
        {

            if (PUB_SESSAO.Logado())
            {
                if(!IsPostBack)
                {

                    b_tb_veiculo_categoria.PreencheControle(DDL_ID_CATEGORIA, true);
                    b_tb_veiculo_marca.PreencheControle(DDL_ID_MARCA, true);
                    b_tb_veiculo_modelo.PreencheControle(DDL_ID_MODELO, true);
                    b_tb_uf.PreencheControle(DDL_ID_UF, true);
                }
                else
                {

                }

            }

        }

        protected void CHK_ID_CheckedChanged(object sender, EventArgs e)
        {

        }

        protected void BTN_FILTRAR_Click(object sender, EventArgs e)
        {
            
        }

        public void CarregaGrid()
        {
            try
            {
                
                StringBuilder sb = new StringBuilder();
                DataSet ds = new DataSet();

                List<string> lista = new List<string>();

                if(DDL_ID_CATEGORIA.SelectedValue != string.Empty)
                    lista.Add(string.Format("id_categoria = '{0}'", DDL_ID_CATEGORIA.SelectedValue));

                if (DDL_ID_MARCA.SelectedValue != string.Empty)
                    lista.Add(string.Format("id_marca = '{0}'", DDL_ID_MARCA.SelectedValue));

                if (DDL_ID_MODELO.SelectedValue != string.Empty)
                    lista.Add(string.Format("id_modelo = '{0}'", DDL_ID_MODELO.SelectedValue));

                if (DDL_ID_UF.SelectedValue != string.Empty)
                    lista.Add(string.Format("id_uf = '{0}'", DDL_ID_UF.SelectedValue));
                
                if(TXT_PLACA.Text != string.Empty)
                    lista.Add(string.Format("placa = '{0}'", TXT_PLACA.Text));

                sb.Append(string.Join(" and ", lista.ToArray()));


                ds = b_tb_veiculo.Selecionar(sb.ToString(), PUB_PAGINACAO.Sort, PUB_PAGINACAO.PageIndex, PUB_PAGINACAO.PageSize);

                if (ds.Tables[0].Rows.Count > 0)
                {
                    GRV_TB_VEICULO.DataSource = ds;
                    GRV_TB_VEICULO.DataBind();
                    PUB_PAGINACAO.Paginacao(true);
                }
                else
                {
                    GRV_TB_VEICULO.EmptyDataText = "Nenhum registro foi encontrado";
                    GRV_TB_VEICULO.DataBind();
                }

            }
            catch (Exception)
            {

                
            }



        }

        protected void GRV_TB_VEICULO_Sorting(object sender, GridViewSortEventArgs e)
        {

            PUB_PAGINACAO.Sort = e.SortExpression;
            if (PUB_PAGINACAO.SortDirection == SortDirection.Ascending)
            {
                PUB_PAGINACAO.SortDirection = SortDirection.Descending;
                PUB_PAGINACAO.Sort = PUB_PAGINACAO.Sort + " " + PUB_PAGINACAO.DESCENDENTE;
            }
            else
            {
                PUB_PAGINACAO.SortDirection = SortDirection.Ascending;
                PUB_PAGINACAO.Sort = PUB_PAGINACAO.Sort + "  " + PUB_PAGINACAO.ASCENDENTE;
            }

            CarregaGrid();


        }

        protected void GRV_TB_VEICULO_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GRV_TB_VEICULO.PageIndex = e.NewPageIndex;
            PUB_PAGINACAO.PageIndex = e.NewPageIndex;
            CarregaGrid();
        }

        protected void IMG_BTN_PESQUISAR_Click(object sender, ImageClickEventArgs e)
        {
            PUB_PAGINACAO.PageIndex = 0;
            CarregaGrid();
        }

        protected void IMG_BTN_PRIMEIRO_Click(object sender, ImageClickEventArgs e)
        {
            PUB_PAGINACAO.PageIndex = 0;
            CarregaGrid();
        }

        protected void IMG_BTN_ANTERIOR_Click(object sender, ImageClickEventArgs e)
        {
            PUB_PAGINACAO.PageIndex = PUB_PAGINACAO.PageIndex - 1;
            CarregaGrid();
        }

        protected void IMG_BTN_PROXIMO_Click(object sender, ImageClickEventArgs e)
        {
            PUB_PAGINACAO.PageIndex = PUB_PAGINACAO.PageIndex + 1;
            CarregaGrid();
        }

        protected void IMG_BTN_ULTIMO_Click(object sender, ImageClickEventArgs e)
        {
            PUB_PAGINACAO.PageIndex = PUB_PAGINACAO.TotalDePaginas - 1;
            CarregaGrid();
        }

        protected void BTN_INCLUIR_VEICULO_Click(object sender, EventArgs e)
        {

            List<string> lista_key = PUB_FUNCOES.RetornaListaDeValoresDataKeyGridView(GRV_TB_VEICULO, "id");
            
            foreach (OBJ_TB_VEICULO o_tb_veiculo in b_tb_veiculo.SelecionarLista())
            {
                if (lista_key.Contains(o_tb_veiculo.id.ToString()))
                {
                    
                }

            }

        }
     

    }
}